#include <iostream>
using namespace std;

/*
    const修饰成员变量 --> 成员变量不可修改
        写法一：定义的时候进行赋值       const double PI = 3.14;
        写法二：构造函数的参数列表中初始化const修饰的成员变量       Circle(double r):PI(3.14)
    const修饰成员函数 --> 函数不可修改成员变量的值 不是成员变量的就可以
        写法： void getRadius(double r) const
            该写法只能用于成员函数，非成员函数不可以使用
        1.const int fun() 表示返回值是int类型的常量
        2.int fun() const 表示fun函数不能修改成员变量的值
        1和2可以同时存在  
*/

class Circle
{
public:
    Circle(double r):PI(3.1415)
    {
        radius = r;
    }
    void show() const
    {
        cout << "半径为：" << radius << "的圆的周长为：" << 2 * PI * radius << endl;
    }
    void getRadius(double r) //const
    {
        this->radius = r;
        cout << radius << endl;
    }
private:
    double radius;
    const double PI = 3.14;
};

int main()   
{ 

    Circle c(5.0);
    c.show();
    c.getRadius(10.0);
    c.show();


    return 0;
}